package com.huang.CAS;

import java.util.concurrent.atomic.AtomicMarkableReference;


/*
*         改变了就标记  只能使用一次  （不能解决ABA问题）
*
* */
public class AtomicMarkableReferenceDemo {
    public static void main(String[] args) {
        AtomicMarkableReference<Integer> reference = new AtomicMarkableReference<Integer>(1, false);
        new Thread(()->{
            if (reference.compareAndSet(1,3,false,true)) {
                System.out.println(reference.isMarked());
            }

        }).start();

        new Thread(()->{
            if (reference.compareAndSet(3,1,true,false)) {
                System.out.println(reference.isMarked());
            }

        }).start();
    }
}
